package com.scs.application.modules.base.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.scs.application.core.entity.DataEntity;
import com.scs.application.modules.upgrade.db.annotation.EntityClassAnnotation;
import com.scs.application.modules.upgrade.db.annotation.EntityFieldAnnotation;
import com.scs.application.modules.upgrade.db.annotation.EntityIndexAnnotation;
import com.scs.application.modules.upgrade.db.enums.EntityFieldType;
import lombok.Data;
import lombok.experimental.Accessors;

import java.util.Date;
/**
 * <p>
 *
 * </p>
 */
@Data
@Accessors(chain = true)
@EntityClassAnnotation(remark = "手术信息表")
@TableName("dept_oprt")
@EntityIndexAnnotation(ux = {"code"})
public class Oprt extends DataEntity {


    // id ,在父类中处理

    @EntityFieldAnnotation(
            text = "手术医生所属科室ID",
            length = "",
            type = EntityFieldType.LONG,
            not_null = true,
            default_value = "",
            comment = ""
    )
    private String deptId;


    @EntityFieldAnnotation(
            text = "手术医生所属科室",
            length = "",
            default_value = "",
            comment = ""
    )
    private String deptName;



    @EntityFieldAnnotation(
            text = "手术科室ID",
            length = "",
            type = EntityFieldType.LONG,
            not_null = true,
            default_value = "",
            comment = ""
    )
    private String deptIdRoom;

    @EntityFieldAnnotation(
            text = "手术科室",
            length = "",
            default_value = "",
            comment = ""
    )
    private String deptRoom;

    @EntityFieldAnnotation(
            text = "手术间ID",
            length = "",
            type = EntityFieldType.LONG,
            not_null = true,
            default_value = "",
            comment = ""
    )
    private String deptIdOp;


    @EntityFieldAnnotation(
            text = "手术间",
            length = "",
            default_value = "",
            comment = ""
    )
    private String deptOp;

    @EntityFieldAnnotation(
            text = "申请医生工号",
            length = "50",
            default_value = "",
            comment = ""
    )
    private String staffCodeApply;

    @EntityFieldAnnotation(
            text = "申请医生",
            length = "50",
            default_value = "",
            comment = ""
    )
    private String doctorNameApply;

    @EntityFieldAnnotation(
            text = "主刀医生工号",
            length = "50",
            default_value = "",
            comment = ""
    )
    private String staffCodeSug;

    @EntityFieldAnnotation(
            text = "主刀医生",
            length = "50",
            default_value = "",
            comment = ""
    )
    private String doctorNameSug;

    @EntityFieldAnnotation(
            text = "外键 患者id",
            length = "50",
            type = EntityFieldType.LONG,
            not_null = true,
            default_value = "",
            comment = ""
    )
    private String patientId;

    @EntityFieldAnnotation(
            text = "病案号",
            length = "50",
            not_null = true,
            default_value = "",
            comment = "患者唯一标识:对应patient中no字段"
    )
    private String patientNo;

    @EntityFieldAnnotation(
            text = "患者姓名",
            length = "50",
            type = EntityFieldType.STRING,
            not_null = true,
            default_value = "",
            comment = ""
    )
    private String patientName;

    @EntityFieldAnnotation(
            text = "备货状态",
            length = "",
            default_value = "",
            comment = "0：默认值，未备货；-1：已备货"
    )
    private Integer statusPrep;

    @EntityFieldAnnotation(
            text = "清点状态",
            length = "",
            default_value = "",
            comment = "0：默认值，未清点；-1：已清点"
    )
    private Integer statusCheck;

    @EntityFieldAnnotation(
            text = "手术申请标志",
            length = "",
            default_value = "",
            comment = ""
    )
    private Integer statusApply;


    // creator ,在父类中处理


    // gmt_create ,在父类中处理


    // modifier ,在父类中处理


    // gmt_modified ,在父类中处理

    @EntityFieldAnnotation(
            text = "手术单号",
            length = "100",
            default_value = "",
            comment = ""
    )
    private String code;

    @EntityFieldAnnotation(
            text = "手术日期",
            length = "",
            not_null = true,
            default_value = "",
            comment = ""
    )
    private Date date;

    @EntityFieldAnnotation(
            text = "申请手术日期|创建手术单日期",
            length = "",
            not_null = false,
            default_value = "",
            comment = ""
    )
    private Date applyDate;

    @EntityFieldAnnotation(
            text = "手术名称",
            length = "200",
            not_null = true,
            default_value = "",
            comment = ""
    )
    private String name;

    @EntityFieldAnnotation(
            text = "手术摘要",
            length = "50",
            default_value = "",
            comment = ""
    )
    private String summary;

    @EntityFieldAnnotation(
            text = "备注",
            length = "50",
            default_value = "",
            comment = ""
    )
    private String remark;

    @EntityFieldAnnotation(
            text = "his的手术id",
            length = "50",
            type = EntityFieldType.LONG,
            default_value = "",
            comment = ""
    )
    private String hisOprtId;

}
